Type: object

Bioimage.io description of an application.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description

Must be at least 1 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff')

No Additional Items

Each item of this array must be:


Example:

cover.png

Id Emoji

Default: null

UTF-8 emoji for display alongside the id.

Type: string

Must be at least 1 characters long

Must be at most 1 characters long

Authors

Type: array

The authors are the creators of the RDF and the primary points of contact.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Cite

Type: array

citations

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Text

Type: string

free text description

Doi

Default: null

A digital object identifier (DOI) is the prefered citation reference.
See https://www.doi.org/ for details. (alternatively specify url)

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a github repo URL in config since we already have the
git_repo field defined in the spec.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource
(packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Icon

Default: null

An icon for illustration

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Maintainers

Type: array

Maintainers of this resource.
If not specified authors are maintainers and at least some of them should specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Rdf Source

Default: null

Resource description file (RDF) source; used to keep track of where an rdf.yaml was loaded from.
Do not set this field in a YAML file.

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Version Number

Default: null

version number (n-th published version, not the semantic version)

Format Version

Type: const Default: "0.2.4"

The format version of this resource specification
(not the version of the resource description)
When creating a new resource always use the latest micro/patch version described here.
The format_version is important for any consumer software to understand how to parse the fields.

Must be one of:

  • "0.2.4"
Specific value: "0.2.4"

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Icon

Default: null

badge icon


Example:

https://colab.research.google.com/assets/colab-badge.svg

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Documentation

Default: null

∈📦 URL or relative path to a markdown file with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

License

Default: null

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Type

Type: const Default: "application"

Must be one of:

  • "application"
Specific value: "application"

Id

Default: null

Model zoo (bioimage.io) wide, unique identifier (assigned by bioimage.io)

Source

Default: null

URL or path to the source of the application

Type: object

Bioimage.io description of an application.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description.
May only contains letters, digits, underscore, minus, parentheses and spaces.

Must be at least 1 characters long

Must be at most 128 characters long

Description

Type: string

A string containing a brief description.

Must be at most 1024 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1 or 1:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg')

No Additional Items

Each item of this array must be:

Id Emoji

Default: null

UTF-8 emoji for display alongside the id.

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Authors

Type: array

The authors are the creators of this resource description and the primary points of contact.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Cite

Type: array

citations

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Text

Type: string

free text description

Doi

Default: null

A digital object identifier (DOI) is the prefered citation reference.
See https://www.doi.org/ for details. (alternatively specify url)

License

Type: string

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue
to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a GitHub repo URL in config since there is a git_repo field.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource.
(Packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files.)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Icon

Default: null

An icon for illustration, e.g. on bioimage.io

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Maintainers

Type: array

Maintainers of this resource.
If not specified, authors are maintainers and at least some of them has to specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Format Version

Type: const Default: "0.3.0"

The format version of this resource specification

Must be one of:

  • "0.3.0"
Specific value: "0.3.0"

Documentation

Default: null

∈📦 URL or relative path to a markdown file encoded in UTF-8 with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Icon

Default: null

badge icon


Example:

https://colab.research.google.com/assets/colab-badge.svg

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Type

Type: const Default: "application"

Must be one of:

  • "application"
Specific value: "application"

Id

Default: null

Model zoo (bioimage.io) wide, unique identifier (assigned by bioimage.io)

Source

Default: null

URL or path to the source of the application


Type: object

A bioimage.io dataset resource description file (dataset RDF) describes a dataset relevant to bioimage
processing.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description

Must be at least 1 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff')

No Additional Items

Each item of this array must be:


Example:

cover.png

Id Emoji

Default: null

UTF-8 emoji for display alongside the id.

Type: string

Must be at least 1 characters long

Must be at most 1 characters long

Authors

Type: array

The authors are the creators of the RDF and the primary points of contact.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Cite

Type: array

citations

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Text

Type: string

free text description

Doi

Default: null

A digital object identifier (DOI) is the prefered citation reference.
See https://www.doi.org/ for details. (alternatively specify url)

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a github repo URL in config since we already have the
git_repo field defined in the spec.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource
(packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Icon

Default: null

An icon for illustration

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Maintainers

Type: array

Maintainers of this resource.
If not specified authors are maintainers and at least some of them should specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Rdf Source

Default: null

Resource description file (RDF) source; used to keep track of where an rdf.yaml was loaded from.
Do not set this field in a YAML file.

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Version Number

Default: null

version number (n-th published version, not the semantic version)

Format Version

Type: const Default: "0.2.4"

The format version of this resource specification
(not the version of the resource description)
When creating a new resource always use the latest micro/patch version described here.
The format_version is important for any consumer software to understand how to parse the fields.

Must be one of:

  • "0.2.4"
Specific value: "0.2.4"

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Icon

Default: null

badge icon

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Type: stringFormat: uri

Must be at least 1 characters long

Must be at most 2083 characters long


Example:

https://colab.research.google.com/assets/colab-badge.svg

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Documentation

Default: null

∈📦 URL or relative path to a markdown file with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

License

Default: null

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Type

Type: const Default: "dataset"

Must be one of:

  • "dataset"
Specific value: "dataset"

Id

Default: null

Model zoo (bioimage.io) wide, unique identifier (assigned by bioimage.io)

Type: object

A bioimage.io dataset resource description file (dataset RDF) describes a dataset relevant to bioimage
processing.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description.
May only contains letters, digits, underscore, minus, parentheses and spaces.

Must be at least 1 characters long

Must be at most 128 characters long

Description

Type: string

A string containing a brief description.

Must be at most 1024 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1 or 1:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg')

No Additional Items

Each item of this array must be:

Id Emoji

Default: null

UTF-8 emoji for display alongside the id.

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Authors

Type: array

The authors are the creators of this resource description and the primary points of contact.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Attachments

Type: array

file attachments

No Additional Items

Each item of this array must be:

Cite

Type: array

citations

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Text

Type: string

free text description

Doi

Default: null

A digital object identifier (DOI) is the prefered citation reference.
See https://www.doi.org/ for details. (alternatively specify url)

License

Type: string

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue
to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a GitHub repo URL in config since there is a git_repo field.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource.
(Packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files.)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Icon

Default: null

An icon for illustration, e.g. on bioimage.io

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Maintainers

Type: array

Maintainers of this resource.
If not specified, authors are maintainers and at least some of them has to specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Format Version

Type: const Default: "0.3.0"

The format version of this resource specification

Must be one of:

  • "0.3.0"
Specific value: "0.3.0"

Documentation

Default: null

∈📦 URL or relative path to a markdown file encoded in UTF-8 with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Icon

Default: null

badge icon

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Type: stringFormat: uri

Must be at least 1 characters long

Must be at most 2083 characters long


Example:

https://colab.research.google.com/assets/colab-badge.svg

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Type

Type: const Default: "dataset"

Must be one of:

  • "dataset"
Specific value: "dataset"

Id

Default: null

Model zoo (bioimage.io) wide, unique identifier (assigned by bioimage.io)


Type: object

Specification of the fields used in a bioimage.io-compliant RDF that describes AI models with pretrained weights.

These fields are typically stored in a YAML file which we call a model resource description file (model RDF).

No Additional Properties

Name

Type: string

A human-readable name of this model.
It should be no longer than 64 characters and only contain letter, number, underscore, minus or space characters.

Must be at least 1 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff')

No Additional Items

Each item of this array must be:


Example:

cover.png

Id Emoji

Default: null

UTF-8 emoji for display alongside the id.

Type: string

Must be at least 1 characters long

Must be at most 1 characters long

Authors

Type: array

The authors are the creators of the model RDF and the primary points of contact.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Cite

Type: array

citations

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Text

Type: string

free text description

Doi

Default: null

A digital object identifier (DOI) is the prefered citation reference.
See https://www.doi.org/ for details. (alternatively specify url)

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a github repo URL in config since we already have the
git_repo field defined in the spec.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource
(packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Icon

Default: null

An icon for illustration

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Type: stringFormat: file-path

Maintainers

Type: array

Maintainers of this resource.
If not specified authors are maintainers and at least some of them should specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Rdf Source

Default: null

Resource description file (RDF) source; used to keep track of where an rdf.yaml was loaded from.
Do not set this field in a YAML file.

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Version Number

Default: null

version number (n-th published version, not the semantic version)

Format Version

Type: const Default: "0.4.10"

Version of the bioimage.io model description specification used.
When creating a new model always use the latest micro/patch version described here.
The format_version is important for any consumer software to understand how to parse the fields.

Must be one of:

  • "0.4.10"
Specific value: "0.4.10"

Type

Type: const Default: "model"

Specialized resource type 'model'

Must be one of:

  • "model"
Specific value: "model"

Id

Default: null

Model zoo (bioimage.io) wide, unique identifier (assigned by bioimage.io)

Documentation


∈📦 URL or relative path to a markdown file with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.
The documentation should include a '[#[#]]# Validation' (sub)section
with details on how to quantitatively validate the model on unseen data.

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

Inputs

Type: array

Describes the input tensors expected by this model.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Name

Type: string

Tensor name. No duplicates are allowed.

Axes

Type: string

Axes identifying characters. Same length and order as the axes in shape.

axis description
b batch (groups multiple samples)
i instance/index/element
t time
c channel
z spatial dimension z
y spatial dimension y
x spatial dimension x

Data Range

Default: null

Tuple (minimum, maximum) specifying the allowed range of the data in this tensor.
If not specified, the full data range that can be expressed in data_type is allowed.

Data Type

Type: enum (of string)

For now an input tensor is expected to be given as float32.
The data flow in bioimage.io models is explained
in this diagram..

Must be one of:

  • "float32"
  • "uint8"
  • "uint16"

Shape


Specification of input tensor shape.

Type: object

A sequence of valid shapes given by shape_k = min + k * step for k in {0, 1, ...}.

No Additional Properties

Min

Type: array of integer

The minimum input shape

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Step

Type: array of integer

The minimum shape change

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Examples:

[1, 512, 512, 1]
min:
- 1
- 64
- 64
- 1
step:
- 0
- 32
- 32
- 0

Preprocessing

Type: array

Description of how this input should be preprocessed.

No Additional Items

Each item of this array must be:


Type: object

BinarizeDescr the tensor with a fixed threshold.
Values above the threshold will be set to one, values below the threshold to zero.

No Additional Properties

Name

Type: const Default: "binarize"

Must be one of:

  • "binarize"
Specific value: "binarize"
Type: object

Fixed linear scaling.

No Additional Properties

Name

Type: const Default: "scale_linear"

Must be one of:

  • "scale_linear"
Specific value: "scale_linear"

Type: object
No Additional Properties
Type: object

The logistic sigmoid funciton, a.k.a. expit function.

No Additional Properties

Name

Type: const Default: "sigmoid"

Must be one of:

  • "sigmoid"
Specific value: "sigmoid"
Type: object

Subtract mean and divide by variance.

No Additional Properties

Name

Type: const Default: "zero_mean_unit_variance"

Must be one of:

  • "zero_mean_unit_variance"
Specific value: "zero_mean_unit_variance"

Type: object
No Additional Properties

Mode

Type: enum (of string) Default: "fixed"

Mode for computing mean and variance.

mode description
fixed Fixed values for mean and variance
per_dataset Compute for the entire dataset
per_sample Compute for each sample individually

Must be one of:

  • "fixed"
  • "per_dataset"
  • "per_sample"

Axes

Type: string

The subset of axes to normalize jointly.
For example xy to normalize the two image axes for 2d data jointly.


Example:

xy

Eps

Type: number Default: 1e-06

epsilon for numeric stability: out = (tensor - mean) / (std + eps).

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Type: object

Scale with percentiles.

No Additional Properties

Name

Type: const Default: "scale_range"

Must be one of:

  • "scale_range"
Specific value: "scale_range"

Type: object
No Additional Properties

Mode

Type: enum (of string)

Mode for computing percentiles.

mode description
per_dataset compute for the entire dataset
per_sample compute for each sample individually

Must be one of:

  • "per_dataset"
  • "per_sample"

Axes

Type: string

The subset of axes to normalize jointly.
For example xy to normalize the two image axes for 2d data jointly.


Example:

xy

Max Percentile

Default: 100.0

The upper percentile used for normalization
Has to be bigger than min_percentile.
The range is 1 to 100 instead of 0 to 100 to avoid mistakenly
accepting percentiles specified in the range 0.0 to 1.0.

Eps

Type: number Default: 1e-06

Epsilon for numeric stability.
out = (tensor - v_lower) / (v_upper - v_lower + eps);
with v_lower,v_upper values at the respective percentiles.

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Reference Tensor

Default: null

Tensor name to compute the percentiles from. Default: The tensor itself.
For any tensor in inputs only input tensor references are allowed.
For a tensor in outputs only input tensor refereences are allowed if mode: per_dataset

License

Type: string

A SPDX license identifier.
We do notsupport custom license beyond the SPDX license list, if you need that please
open a GitHub issue to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Outputs

Type: array

Describes the output tensors.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Name

Type: string

Tensor name. No duplicates are allowed.

Axes

Type: string

Axes identifying characters. Same length and order as the axes in shape.

axis description
b batch (groups multiple samples)
i instance/index/element
t time
c channel
z spatial dimension z
y spatial dimension y
x spatial dimension x

Data Range

Default: null

Tuple (minimum, maximum) specifying the allowed range of the data in this tensor.
If not specified, the full data range that can be expressed in data_type is allowed.

Data Type

Type: enum (of string)

Data type.
The data flow in bioimage.io models is explained
in this diagram..

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"
  • "bool"

Shape


Output tensor shape.

Type: object

Output tensor shape depending on an input tensor shape.
shape(output_tensor) = shape(input_tensor) * scale + 2 * offset

No Additional Properties

Halo

Default: null

The halo that should be cropped from the output tensor to avoid boundary effects.
The halo is to be cropped from both sides, i.e. shape_after_crop = shape - 2 * halo.
To document a halo that is already cropped by the model shape.offset has to be used instead.

Postprocessing

Type: array

Description of how this output should be postprocessed.

No Additional Items

Each item of this array must be:


Type: object

BinarizeDescr the tensor with a fixed threshold.
Values above the threshold will be set to one, values below the threshold to zero.

No Additional Properties

Name

Type: const Default: "binarize"

Must be one of:

  • "binarize"
Specific value: "binarize"
Type: object

Fixed linear scaling.

No Additional Properties

Name

Type: const Default: "scale_linear"

Must be one of:

  • "scale_linear"
Specific value: "scale_linear"

Type: object
No Additional Properties
Type: object

The logistic sigmoid funciton, a.k.a. expit function.

No Additional Properties

Name

Type: const Default: "sigmoid"

Must be one of:

  • "sigmoid"
Specific value: "sigmoid"
Type: object

Subtract mean and divide by variance.

No Additional Properties

Name

Type: const Default: "zero_mean_unit_variance"

Must be one of:

  • "zero_mean_unit_variance"
Specific value: "zero_mean_unit_variance"

Type: object
No Additional Properties

Mode

Type: enum (of string) Default: "fixed"

Mode for computing mean and variance.

mode description
fixed Fixed values for mean and variance
per_dataset Compute for the entire dataset
per_sample Compute for each sample individually

Must be one of:

  • "fixed"
  • "per_dataset"
  • "per_sample"

Axes

Type: string

The subset of axes to normalize jointly.
For example xy to normalize the two image axes for 2d data jointly.


Example:

xy

Eps

Type: number Default: 1e-06

epsilon for numeric stability: out = (tensor - mean) / (std + eps).

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Type: object

Scale with percentiles.

No Additional Properties

Name

Type: const Default: "scale_range"

Must be one of:

  • "scale_range"
Specific value: "scale_range"

Type: object
No Additional Properties

Mode

Type: enum (of string)

Mode for computing percentiles.

mode description
per_dataset compute for the entire dataset
per_sample compute for each sample individually

Must be one of:

  • "per_dataset"
  • "per_sample"

Axes

Type: string

The subset of axes to normalize jointly.
For example xy to normalize the two image axes for 2d data jointly.


Example:

xy

Max Percentile

Default: 100.0

The upper percentile used for normalization
Has to be bigger than min_percentile.
The range is 1 to 100 instead of 0 to 100 to avoid mistakenly
accepting percentiles specified in the range 0.0 to 1.0.

Eps

Type: number Default: 1e-06

Epsilon for numeric stability.
out = (tensor - v_lower) / (v_upper - v_lower + eps);
with v_lower,v_upper values at the respective percentiles.

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Reference Tensor

Default: null

Tensor name to compute the percentiles from. Default: The tensor itself.
For any tensor in inputs only input tensor references are allowed.
For a tensor in outputs only input tensor refereences are allowed if mode: per_dataset

Type: object

Scale the tensor s.t. its mean and variance match a reference tensor.

No Additional Properties

Name

Type: const Default: "scale_mean_variance"

Must be one of:

  • "scale_mean_variance"
Specific value: "scale_mean_variance"

Type: object
No Additional Properties

Mode

Type: enum (of string)

Mode for computing mean and variance.

mode description
per_dataset Compute for the entire dataset
per_sample Compute for each sample individually

Must be one of:

  • "per_dataset"
  • "per_sample"

Eps

Type: number Default: 1e-06

Epsilon for numeric stability:
"`out = (tensor - mean) / (std + eps) * (refstd + eps) + refmean.

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Packaged By

Type: array

The persons that have packaged and uploaded this model.
Only required if those persons differ from the authors.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Default: null

The model from which this model is derived, e.g. by fine-tuning the weights.

Type: object

Reference to a bioimage.io model.

No Additional Properties

Id

Type: string

A valid model id from the bioimage.io collection.

Default: null

Custom run mode for this model: for more complex prediction procedures like test time
data augmentation that currently cannot be expressed in the specification.
No standard run modes are defined yet.

Type: object
No Additional Properties

Kwargs

Type: object

Run mode specific key word arguments

Sample Inputs

Type: array

∈📦 URLs/relative paths to sample inputs to illustrate possible inputs for the model,
for example stored as PNG or TIFF images.
The sample files primarily serve to inform a human user about an example use case

No Additional Items

Each item of this array must be:

Sample Outputs

Type: array

∈📦 URLs/relative paths to sample outputs corresponding to the sample_inputs.

No Additional Items

Each item of this array must be:

Test Inputs

Type: array

∈📦 Test input tensors compatible with the inputs description for a single test case.
This means if your model has more than one input, you should provide one URL/relative path for each input.
Each test input should be a file with an ndarray in
numpy.lib file format.
The extension must be '.npy'.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Test Outputs

Type: array

∈📦 Analog to test_inputs.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: string

Timestamp in ISO 8601 format
with a few restrictions listed here.

Training Data

Default: null

The dataset used to train this model

Type: object

Reference to a bioimage.io dataset.

No Additional Properties

Id

Type: string

A valid dataset id from the bioimage.io collection.

Type: object

A bioimage.io dataset resource description file (dataset RDF) describes a dataset relevant to bioimage
processing.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description

Must be at least 1 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff')

No Additional Items

Each item of this array must be:


Example:

cover.png

Authors

Type: array

The authors are the creators of the RDF and the primary points of contact.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Default: null

file and other attachments

Type: object

Cite

Type: array

citations

No Additional Items

Each item of this array must be:

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a github repo URL in config since we already have the
git_repo field defined in the spec.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource
(packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Maintainers

Type: array

Maintainers of this resource.
If not specified authors are maintainers and at least some of them should specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Format Version

Type: const Default: "0.2.4"

The format version of this resource specification
(not the version of the resource description)
When creating a new resource always use the latest micro/patch version described here.
The format_version is important for any consumer software to understand how to parse the fields.

Must be one of:

  • "0.2.4"
Specific value: "0.2.4"

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Documentation

Default: null

∈📦 URL or relative path to a markdown file with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

License

Default: null

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Type

Type: const Default: "dataset"

Must be one of:

  • "dataset"
Specific value: "dataset"

Type: object

The weights for this model.
Weights can be given for different formats, but should otherwise be equivalent.
The available weight formats determine which consumers can use this model.

No Additional Properties

Default: null

Type: object
No Additional Properties

Default: null

Attachments that are specific to this weights entry.

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Dependencies

Default: null

Dependency manager and dependency file, specified as <dependency manager>:<relative file path>.


Examples:

conda:environment.yaml
maven:./pom.xml
pip:./requirements.txt

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Default: null

Type: object
No Additional Properties

Default: null

Attachments that are specific to this weights entry.

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Dependencies

Default: null

Dependency manager and dependency file, specified as <dependency manager>:<relative file path>.


Examples:

conda:environment.yaml
maven:./pom.xml
pip:./requirements.txt

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Default: null

Type: object
No Additional Properties

Default: null

Attachments that are specific to this weights entry.

Type: object

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Dependencies

Default: null

Dependency manager and dependency file, specified as <dependency manager>:<relative file path>.


Examples:

conda:environment.yaml
maven:./pom.xml
pip:./requirements.txt

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Architecture


callable returning a torch.nn.Module instance.
Local implementation: <relative path to file>:<identifier of implementation within the file>.
Implementation in a dependency: <dependency-package>.<[dependency-module]>.<identifier>.


Examples:

my_function.py:MyNetworkClass
my_module.submodule.get_my_model

Architecture Sha256

Default: null

The SHA256 of the architecture source file, if the architecture is not defined in a module listed in dependencies
You can drag and drop your file to this
online tool to generate a SHA256 in your browser.
Or you can generate a SHA256 checksum with Python's hashlib,
here is a codesnippet.

Kwargs

Type: object

key word arguments for the architecture callable

Default: null

Type: object
No Additional Properties

Default: null

Attachments that are specific to this weights entry.

Type: object

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Dependencies

Default: null

Dependency manager and dependency file, specified as <dependency manager>:<relative file path>.


Examples:

conda:environment.yaml
maven:./pom.xml
pip:./requirements.txt

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Default: null

Type: object
No Additional Properties

Default: null

Attachments that are specific to this weights entry.

Type: object

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Dependencies

Default: null

Dependency manager and dependency file, specified as <dependency manager>:<relative file path>.


Examples:

conda:environment.yaml
maven:./pom.xml
pip:./requirements.txt

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.


Example:

pytorch_state_dict

Default: null

Type: object
No Additional Properties

Default: null

Attachments that are specific to this weights entry.

Type: object

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Dependencies

Default: null

Dependency manager and dependency file, specified as <dependency manager>:<relative file path>.


Examples:

conda:environment.yaml
maven:./pom.xml
pip:./requirements.txt

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict
Type: object

Specification of the fields used in a bioimage.io-compliant RDF to describe AI models with pretrained weights.
These fields are typically stored in a YAML file which we call a model resource description file (model RDF).

No Additional Properties

Name

Type: string

A human-readable name of this model.
It should be no longer than 64 characters
and may only contain letter, number, underscore, minus, parentheses and spaces.
We recommend to chose a name that refers to the model's task and image modality.

Must be at least 5 characters long

Must be at most 128 characters long

Description

Type: string

A string containing a brief description.

Must be at most 1024 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1 or 1:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg')

No Additional Items

Each item of this array must be:

Id Emoji

Default: null

UTF-8 emoji for display alongside the id.

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Authors

Type: array

The authors are the creators of the model RDF and the primary points of contact.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Attachments

Type: array

file attachments

No Additional Items

Each item of this array must be:

Cite

Type: array

citations

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Text

Type: string

free text description

Doi

Default: null

A digital object identifier (DOI) is the prefered citation reference.
See https://www.doi.org/ for details. (alternatively specify url)

License

Type: string

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue
to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a GitHub repo URL in config since there is a git_repo field.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource.
(Packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files.)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Icon

Default: null

An icon for illustration, e.g. on bioimage.io

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Type: stringFormat: file-path

Maintainers

Type: array

Maintainers of this resource.
If not specified, authors are maintainers and at least some of them has to specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Format Version

Type: const Default: "0.5.3"

Version of the bioimage.io model description specification used.
When creating a new model always use the latest micro/patch version described here.
The format_version is important for any consumer software to understand how to parse the fields.

Must be one of:

  • "0.5.3"
Specific value: "0.5.3"

Type

Type: const Default: "model"

Specialized resource type 'model'

Must be one of:

  • "model"
Specific value: "model"

Id

Default: null

Model zoo (bioimage.io) wide, unique identifier (assigned by bioimage.io)

Documentation


∈📦 URL or relative path to a markdown file with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.
The documentation should include a '#[#] Validation' (sub)section
with details on how to quantitatively validate the model on unseen data.

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

Inputs

Type: array

Describes the input tensors expected by this model.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Id

Type: string Default: "input"

Input tensor id.
No duplicates are allowed across all inputs and outputs.

Description

Type: string Default: ""

free text description

Must be at most 128 characters long

Axes

Type: array

tensor axes

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object
No Additional Properties

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "batch"

Must be one of:

  • "batch"
Specific value: "batch"

Size

Default: null

The batch size may be fixed to 1,
otherwise (the default) it may be chosen arbitrarily depending on available memory

Type: object
No Additional Properties

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "channel"

Must be one of:

  • "channel"
Specific value: "channel"

Channel Names

Type: array of string

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Size


The size/length of this axis can be specified as
- fixed integer
- parameterized series of valid sizes (ParameterizedSize)
- reference to another axis with an optional offset (SizeReference)

Type: object

Describes a range of valid tensor axis sizes as size = min + n*step.

No Additional Properties

Type: object

A tensor axis size (extent in pixels/frames) defined in relation to a reference axis.

axis.size = reference.size * reference.scale / axis.scale + offset

note:
1. The axis and the referenced axis need to have the same unit (or no unit).
2. Batch axes may not be referenced.
3. Fractions are rounded down.
4. If the reference axis is concatenable the referencing axis is assumed to be
concatenable as well with the same block order.

example:
An unisotropic input image of wh=10049 pixels depicts a phsical space of 200196mm².
Let's assume that we want to express the image height h in relation to its width w
instead of only accepting input images of exactly 100
49 pixels
(for example to express a range of valid image shapes by parametrizing w, see ParameterizedSize).

>>> w = SpaceInputAxis(id=AxisId("w"), size=100, unit="millimeter", scale=2)
>>> h = SpaceInputAxis(
... id=AxisId("h"),
... size=SizeReference(tensorid=TensorId("input"), axisid=AxisId("w"), offset=-1),
... unit="millimeter",
... scale=4,
... )
>>> print(h.size.compute(h, w))
49

-> h = w * w.scale / h.scale + offset = 100 * 2mm / 4mm - 1 = 49

No Additional Properties


Examples:

10
min: 32
step: 16
axis_id: a
offset: 5
tensor_id: t

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "index"

Must be one of:

  • "index"
Specific value: "index"

Concatenable

Type: boolean Default: false

If a model has a concatenable input axis, it can be processed blockwise,
splitting a longer sample axis into blocks matching its input tensor description.
Output axes are concatenable if they have a SizeReference to a concatenable
input axis.

Type: object
No Additional Properties

Size


The size/length of this axis can be specified as
- fixed integer
- parameterized series of valid sizes (ParameterizedSize)
- reference to another axis with an optional offset (SizeReference)

Type: object

Describes a range of valid tensor axis sizes as size = min + n*step.

No Additional Properties

Type: object

A tensor axis size (extent in pixels/frames) defined in relation to a reference axis.

axis.size = reference.size * reference.scale / axis.scale + offset

note:
1. The axis and the referenced axis need to have the same unit (or no unit).
2. Batch axes may not be referenced.
3. Fractions are rounded down.
4. If the reference axis is concatenable the referencing axis is assumed to be
concatenable as well with the same block order.

example:
An unisotropic input image of wh=10049 pixels depicts a phsical space of 200196mm².
Let's assume that we want to express the image height h in relation to its width w
instead of only accepting input images of exactly 100
49 pixels
(for example to express a range of valid image shapes by parametrizing w, see ParameterizedSize).

>>> w = SpaceInputAxis(id=AxisId("w"), size=100, unit="millimeter", scale=2)
>>> h = SpaceInputAxis(
... id=AxisId("h"),
... size=SizeReference(tensorid=TensorId("input"), axisid=AxisId("w"), offset=-1),
... unit="millimeter",
... scale=4,
... )
>>> print(h.size.compute(h, w))
49

-> h = w * w.scale / h.scale + offset = 100 * 2mm / 4mm - 1 = 49

No Additional Properties


Examples:

10
min: 32
step: 16
axis_id: a
offset: 5
tensor_id: t

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "time"

Must be one of:

  • "time"
Specific value: "time"

Unit

Default: null

Type: enum (of string)

Must be one of:

  • "attosecond"
  • "centisecond"
  • "day"
  • "decisecond"
  • "exasecond"
  • "femtosecond"
  • "gigasecond"
  • "hectosecond"
  • "hour"
  • "kilosecond"
  • "megasecond"
  • "microsecond"
  • "millisecond"
  • "minute"
  • "nanosecond"
  • "petasecond"
  • "picosecond"
  • "second"
  • "terasecond"
  • "yoctosecond"
  • "yottasecond"
  • "zeptosecond"
  • "zettasecond"

Scale

Type: number Default: 1.0

Value must be strictly greater than 0.0

Concatenable

Type: boolean Default: false

If a model has a concatenable input axis, it can be processed blockwise,
splitting a longer sample axis into blocks matching its input tensor description.
Output axes are concatenable if they have a SizeReference to a concatenable
input axis.

Type: object
No Additional Properties

Size


The size/length of this axis can be specified as
- fixed integer
- parameterized series of valid sizes (ParameterizedSize)
- reference to another axis with an optional offset (SizeReference)

Type: object

Describes a range of valid tensor axis sizes as size = min + n*step.

No Additional Properties

Type: object

A tensor axis size (extent in pixels/frames) defined in relation to a reference axis.

axis.size = reference.size * reference.scale / axis.scale + offset

note:
1. The axis and the referenced axis need to have the same unit (or no unit).
2. Batch axes may not be referenced.
3. Fractions are rounded down.
4. If the reference axis is concatenable the referencing axis is assumed to be
concatenable as well with the same block order.

example:
An unisotropic input image of wh=10049 pixels depicts a phsical space of 200196mm².
Let's assume that we want to express the image height h in relation to its width w
instead of only accepting input images of exactly 100
49 pixels
(for example to express a range of valid image shapes by parametrizing w, see ParameterizedSize).

>>> w = SpaceInputAxis(id=AxisId("w"), size=100, unit="millimeter", scale=2)
>>> h = SpaceInputAxis(
... id=AxisId("h"),
... size=SizeReference(tensorid=TensorId("input"), axisid=AxisId("w"), offset=-1),
... unit="millimeter",
... scale=4,
... )
>>> print(h.size.compute(h, w))
49

-> h = w * w.scale / h.scale + offset = 100 * 2mm / 4mm - 1 = 49

No Additional Properties


Examples:

10
min: 32
step: 16
axis_id: a
offset: 5
tensor_id: t

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "space"

Must be one of:

  • "space"
Specific value: "space"

Unit

Default: null

Type: enum (of string)

Must be one of:

  • "attometer"
  • "angstrom"
  • "centimeter"
  • "decimeter"
  • "exameter"
  • "femtometer"
  • "foot"
  • "gigameter"
  • "hectometer"
  • "inch"
  • "kilometer"
  • "megameter"
  • "meter"
  • "micrometer"
  • "mile"
  • "millimeter"
  • "nanometer"
  • "parsec"
  • "petameter"
  • "picometer"
  • "terameter"
  • "yard"
  • "yoctometer"
  • "yottameter"
  • "zeptometer"
  • "zettameter"

Scale

Type: number Default: 1.0

Value must be strictly greater than 0.0

Concatenable

Type: boolean Default: false

If a model has a concatenable input axis, it can be processed blockwise,
splitting a longer sample axis into blocks matching its input tensor description.
Output axes are concatenable if they have a SizeReference to a concatenable
input axis.

Type: object

An example tensor to use for testing.
Using the model with the test input tensors is expected to yield the test output tensors.
Each test tensor has be a an ndarray in the
numpy.lib file format.
The file extension must be '.npy'.

No Additional Properties

Default: null

A sample tensor to illustrate a possible input/output for the model,
The sample image primarily serves to inform a human user about an example use case
and is typically stored as .hdf5, .png or .tiff.
It has to be readable by the imageio library
(numpy's .npy format is not supported).
The image dimensionality has to match the number of axes specified in this tensor description.

Data

Default: {"type": "float32", "range": [null, null], "unit": "arbitrary unit", "scale": 1.0, "offset": null}

Description of the tensor's data values, optionally per channel.
If specified per channel, the data type needs to match across channels.

Type: object
No Additional Properties

Values


A fixed set of nominal or an ascending sequence of ordinal values.
In this case data_type is required to be an unsigend integer type, e.g. 'uint8'.
String values are interpreted as labels for tensor values 0, ..., N.
Note: as YAML 1.2 does not natively support a "set" datatype,
nominal values should be given as a sequence (aka list/array) as well.

Type

Type: enum (of string) Default: "uint8"

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"
  • "bool"

Examples:

float32
uint8
uint16
int64
bool
Type: object
No Additional Properties

Type

Type: enum (of string) Default: "float32"

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"

Examples:

float32
float64
uint8
uint16

Scale

Type: number Default: 1.0

Scale for data on an interval (or ratio) scale.

Type: array

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object
No Additional Properties

Values


A fixed set of nominal or an ascending sequence of ordinal values.
In this case data_type is required to be an unsigend integer type, e.g. 'uint8'.
String values are interpreted as labels for tensor values 0, ..., N.
Note: as YAML 1.2 does not natively support a "set" datatype,
nominal values should be given as a sequence (aka list/array) as well.

Type

Type: enum (of string) Default: "uint8"

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"
  • "bool"

Examples:

float32
uint8
uint16
int64
bool
Type: object
No Additional Properties

Type

Type: enum (of string) Default: "float32"

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"

Examples:

float32
float64
uint8
uint16

Range

Type: array Default: [null, null]

Tuple (minimum, maximum) specifying the allowed range of the data in this tensor.
None corresponds to min/max of what can be expressed by data_type.

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Tuple Validation

Item at 1 must be:
Item at 2 must be:

Scale

Type: number Default: 1.0

Scale for data on an interval (or ratio) scale.

Optional

Type: boolean Default: false

indicates that this tensor may be None

Preprocessing

Type: array

Description of how this input should be preprocessed.

notes:
- If preprocessing does not start with an 'ensuredtype' entry, it is added
to ensure an input tensor's data type matches the input tensor's data description.
- If preprocessing does not end with an 'ensure
dtype' or 'binarize' entry, an
'ensure_dtype' step is added to ensure preprocessing steps are not unintentionally
changing the data type.

No Additional Items

Each item of this array must be:


Type: object

Binarize the tensor with a fixed threshold.
Values above the threshold will be set to one, values below the threshold to zero.

No Additional Properties

Id

Type: const Default: "binarize"

Must be one of:

  • "binarize"
Specific value: "binarize"

Kwargs


Type: object
No Additional Properties

Id

Type: const Default: "ensure_dtype"

Must be one of:

  • "ensure_dtype"
Specific value: "ensure_dtype"

Type: object
No Additional Properties

Dtype

Type: enum (of string)

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"
  • "bool"
Type: object

Fixed linear scaling.

No Additional Properties

Id

Type: const Default: "scale_linear"

Must be one of:

  • "scale_linear"
Specific value: "scale_linear"

Kwargs


Type: object
No Additional Properties
Type: object

The logistic sigmoid funciton, a.k.a. expit function.

No Additional Properties

Id

Type: const Default: "sigmoid"

Must be one of:

  • "sigmoid"
Specific value: "sigmoid"
Type: object

Subtract a given mean and divide by a given variance.

No Additional Properties

Id

Type: const Default: "fixed_zero_mean_unit_variance"

Must be one of:

  • "fixed_zero_mean_unit_variance"
Specific value: "fixed_zero_mean_unit_variance"

Kwargs


Type: object

Normalize with fixed, precomputed values for mean and variance.
See zero_mean_unit_variance for data dependent normalization.

No Additional Properties

Std

Type: number

The standard deviation value to normalize with.

Value must be greater or equal to 1e-06

Type: object

Normalize with fixed, precomputed values for mean and variance.
See zero_mean_unit_variance for data dependent normalization.

No Additional Properties

Std

Type: array of number

The standard deviation value(s) to normalize with.
Size must match mean values.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Axis

Type: string

The axis of the mean/std values to normalize each entry along that dimension
separately.


Examples:

channel
index
Type: object

Subtract mean and divide by variance.

No Additional Properties

Id

Type: const Default: "zero_mean_unit_variance"

Must be one of:

  • "zero_mean_unit_variance"
Specific value: "zero_mean_unit_variance"

Type: object
No Additional Properties

Axes

Default: null

The subset of axes to normalize jointly, i.e. axes to reduce to compute mean/std.
For example to normalize 'batch', 'x' and 'y' jointly in a tensor ('batch', 'channel', 'y', 'x')
resulting in a tensor of equal shape normalized per channel, specify axes=('batch', 'x', 'y').
To normalize each sample independently leave out the 'batch' axis.
Default: Scale all axes jointly.


Example:

['batch', 'x', 'y']

Eps

Type: number Default: 1e-06

epsilon for numeric stability: out = (tensor - mean) / (std + eps).

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Type: object

Scale with percentiles.

No Additional Properties

Id

Type: const Default: "scale_range"

Must be one of:

  • "scale_range"
Specific value: "scale_range"

Type: object
No Additional Properties

Axes

Default: null

The subset of axes to normalize jointly, i.e. axes to reduce to compute the min/max percentile value.
For example to normalize 'batch', 'x' and 'y' jointly in a tensor ('batch', 'channel', 'y', 'x')
resulting in a tensor of equal shape normalized per channel, specify axes=('batch', 'x', 'y').
To normalize samples indepdencently, leave out the "batch" axis.
Default: Scale all axes jointly.


Example:

['batch', 'x', 'y']

Min Percentile

Type: number Default: 0.0

The lower percentile used for normalization.

Value must be greater or equal to 0.0 and strictly lesser than 100.0

Max Percentile

Type: number Default: 100.0

The upper percentile used for normalization
Has to be bigger than min_percentile.
The range is 1 to 100 instead of 0 to 100 to avoid mistakenly
accepting percentiles specified in the range 0.0 to 1.0.

Value must be strictly greater than 1.0 and lesser or equal to 100.0

Eps

Type: number Default: 1e-06

Epsilon for numeric stability.
out = (tensor - v_lower) / (v_upper - v_lower + eps);
with v_lower,v_upper values at the respective percentiles.

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Outputs

Type: array

Describes the output tensors.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Id

Type: string Default: "output"

Output tensor id.
No duplicates are allowed across all inputs and outputs.

Description

Type: string Default: ""

free text description

Must be at most 128 characters long

Axes

Type: array

tensor axes

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object
No Additional Properties

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "batch"

Must be one of:

  • "batch"
Specific value: "batch"

Size

Default: null

The batch size may be fixed to 1,
otherwise (the default) it may be chosen arbitrarily depending on available memory

Type: object
No Additional Properties

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "channel"

Must be one of:

  • "channel"
Specific value: "channel"

Channel Names

Type: array of string

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "index"

Must be one of:

  • "index"
Specific value: "index"

Size


The size/length of this axis can be specified as
- fixed integer
- reference to another axis with an optional offset (SizeReference)
- data dependent size using DataDependentSize (size is only known after model inference)

Type: object

A tensor axis size (extent in pixels/frames) defined in relation to a reference axis.

axis.size = reference.size * reference.scale / axis.scale + offset

note:
1. The axis and the referenced axis need to have the same unit (or no unit).
2. Batch axes may not be referenced.
3. Fractions are rounded down.
4. If the reference axis is concatenable the referencing axis is assumed to be
concatenable as well with the same block order.

example:
An unisotropic input image of wh=10049 pixels depicts a phsical space of 200196mm².
Let's assume that we want to express the image height h in relation to its width w
instead of only accepting input images of exactly 100
49 pixels
(for example to express a range of valid image shapes by parametrizing w, see ParameterizedSize).

>>> w = SpaceInputAxis(id=AxisId("w"), size=100, unit="millimeter", scale=2)
>>> h = SpaceInputAxis(
... id=AxisId("h"),
... size=SizeReference(tensorid=TensorId("input"), axisid=AxisId("w"), offset=-1),
... unit="millimeter",
... scale=4,
... )
>>> print(h.size.compute(h, w))
49

-> h = w * w.scale / h.scale + offset = 100 * 2mm / 4mm - 1 = 49

No Additional Properties


Examples:

10
axis_id: a
offset: 5
tensor_id: t

Type: object
No Additional Properties

Size


The size/length of this axis can be specified as
- fixed integer
- reference to another axis with an optional offset (see SizeReference)

Type: object

A tensor axis size (extent in pixels/frames) defined in relation to a reference axis.

axis.size = reference.size * reference.scale / axis.scale + offset

note:
1. The axis and the referenced axis need to have the same unit (or no unit).
2. Batch axes may not be referenced.
3. Fractions are rounded down.
4. If the reference axis is concatenable the referencing axis is assumed to be
concatenable as well with the same block order.

example:
An unisotropic input image of wh=10049 pixels depicts a phsical space of 200196mm².
Let's assume that we want to express the image height h in relation to its width w
instead of only accepting input images of exactly 100
49 pixels
(for example to express a range of valid image shapes by parametrizing w, see ParameterizedSize).

>>> w = SpaceInputAxis(id=AxisId("w"), size=100, unit="millimeter", scale=2)
>>> h = SpaceInputAxis(
... id=AxisId("h"),
... size=SizeReference(tensorid=TensorId("input"), axisid=AxisId("w"), offset=-1),
... unit="millimeter",
... scale=4,
... )
>>> print(h.size.compute(h, w))
49

-> h = w * w.scale / h.scale + offset = 100 * 2mm / 4mm - 1 = 49

No Additional Properties

Examples:

10
axis_id: a
offset: 5
tensor_id: t

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "time"

Must be one of:

  • "time"
Specific value: "time"

Unit

Default: null

Type: enum (of string)

Must be one of:

  • "attosecond"
  • "centisecond"
  • "day"
  • "decisecond"
  • "exasecond"
  • "femtosecond"
  • "gigasecond"
  • "hectosecond"
  • "hour"
  • "kilosecond"
  • "megasecond"
  • "microsecond"
  • "millisecond"
  • "minute"
  • "nanosecond"
  • "petasecond"
  • "picosecond"
  • "second"
  • "terasecond"
  • "yoctosecond"
  • "yottasecond"
  • "zeptosecond"
  • "zettasecond"

Scale

Type: number Default: 1.0

Value must be strictly greater than 0.0

Type: object
No Additional Properties

Halo

Type: integer

The halo should be cropped from the output tensor to avoid boundary effects.
It is to be cropped from both sides, i.e. size_after_crop = size - 2 * halo.
To document a halo that is already cropped by the model use size.offset instead.

Value must be greater or equal to 1

Type: object

reference to another axis with an optional offset (see SizeReference)

No Additional Properties
Examples:

10
axis_id: a
offset: 5
tensor_id: t

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "time"

Must be one of:

  • "time"
Specific value: "time"

Unit

Default: null

Type: enum (of string)

Must be one of:

  • "attosecond"
  • "centisecond"
  • "day"
  • "decisecond"
  • "exasecond"
  • "femtosecond"
  • "gigasecond"
  • "hectosecond"
  • "hour"
  • "kilosecond"
  • "megasecond"
  • "microsecond"
  • "millisecond"
  • "minute"
  • "nanosecond"
  • "petasecond"
  • "picosecond"
  • "second"
  • "terasecond"
  • "yoctosecond"
  • "yottasecond"
  • "zeptosecond"
  • "zettasecond"

Scale

Type: number Default: 1.0

Value must be strictly greater than 0.0


Type: object
No Additional Properties

Size


The size/length of this axis can be specified as
- fixed integer
- reference to another axis with an optional offset (see SizeReference)

Type: object

A tensor axis size (extent in pixels/frames) defined in relation to a reference axis.

axis.size = reference.size * reference.scale / axis.scale + offset

note:
1. The axis and the referenced axis need to have the same unit (or no unit).
2. Batch axes may not be referenced.
3. Fractions are rounded down.
4. If the reference axis is concatenable the referencing axis is assumed to be
concatenable as well with the same block order.

example:
An unisotropic input image of wh=10049 pixels depicts a phsical space of 200196mm².
Let's assume that we want to express the image height h in relation to its width w
instead of only accepting input images of exactly 100
49 pixels
(for example to express a range of valid image shapes by parametrizing w, see ParameterizedSize).

>>> w = SpaceInputAxis(id=AxisId("w"), size=100, unit="millimeter", scale=2)
>>> h = SpaceInputAxis(
... id=AxisId("h"),
... size=SizeReference(tensorid=TensorId("input"), axisid=AxisId("w"), offset=-1),
... unit="millimeter",
... scale=4,
... )
>>> print(h.size.compute(h, w))
49

-> h = w * w.scale / h.scale + offset = 100 * 2mm / 4mm - 1 = 49

No Additional Properties

Examples:

10
axis_id: a
offset: 5
tensor_id: t

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "space"

Must be one of:

  • "space"
Specific value: "space"

Unit

Default: null

Type: enum (of string)

Must be one of:

  • "attometer"
  • "angstrom"
  • "centimeter"
  • "decimeter"
  • "exameter"
  • "femtometer"
  • "foot"
  • "gigameter"
  • "hectometer"
  • "inch"
  • "kilometer"
  • "megameter"
  • "meter"
  • "micrometer"
  • "mile"
  • "millimeter"
  • "nanometer"
  • "parsec"
  • "petameter"
  • "picometer"
  • "terameter"
  • "yard"
  • "yoctometer"
  • "yottameter"
  • "zeptometer"
  • "zettameter"

Scale

Type: number Default: 1.0

Value must be strictly greater than 0.0

Type: object
No Additional Properties

Halo

Type: integer

The halo should be cropped from the output tensor to avoid boundary effects.
It is to be cropped from both sides, i.e. size_after_crop = size - 2 * halo.
To document a halo that is already cropped by the model use size.offset instead.

Value must be greater or equal to 1

Type: object

reference to another axis with an optional offset (see SizeReference)

No Additional Properties
Examples:

10
axis_id: a
offset: 5
tensor_id: t

Description

Type: string Default: ""

Must be at most 128 characters long

Type

Type: const Default: "space"

Must be one of:

  • "space"
Specific value: "space"

Unit

Default: null

Type: enum (of string)

Must be one of:

  • "attometer"
  • "angstrom"
  • "centimeter"
  • "decimeter"
  • "exameter"
  • "femtometer"
  • "foot"
  • "gigameter"
  • "hectometer"
  • "inch"
  • "kilometer"
  • "megameter"
  • "meter"
  • "micrometer"
  • "mile"
  • "millimeter"
  • "nanometer"
  • "parsec"
  • "petameter"
  • "picometer"
  • "terameter"
  • "yard"
  • "yoctometer"
  • "yottameter"
  • "zeptometer"
  • "zettameter"

Scale

Type: number Default: 1.0

Value must be strictly greater than 0.0

Type: object

An example tensor to use for testing.
Using the model with the test input tensors is expected to yield the test output tensors.
Each test tensor has be a an ndarray in the
numpy.lib file format.
The file extension must be '.npy'.

No Additional Properties

Default: null

A sample tensor to illustrate a possible input/output for the model,
The sample image primarily serves to inform a human user about an example use case
and is typically stored as .hdf5, .png or .tiff.
It has to be readable by the imageio library
(numpy's .npy format is not supported).
The image dimensionality has to match the number of axes specified in this tensor description.

Data

Default: {"type": "float32", "range": [null, null], "unit": "arbitrary unit", "scale": 1.0, "offset": null}

Description of the tensor's data values, optionally per channel.
If specified per channel, the data type needs to match across channels.

Type: object
No Additional Properties

Values


A fixed set of nominal or an ascending sequence of ordinal values.
In this case data_type is required to be an unsigend integer type, e.g. 'uint8'.
String values are interpreted as labels for tensor values 0, ..., N.
Note: as YAML 1.2 does not natively support a "set" datatype,
nominal values should be given as a sequence (aka list/array) as well.

Type

Type: enum (of string) Default: "uint8"

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"
  • "bool"

Examples:

float32
uint8
uint16
int64
bool
Type: object
No Additional Properties

Type

Type: enum (of string) Default: "float32"

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"

Examples:

float32
float64
uint8
uint16

Scale

Type: number Default: 1.0

Scale for data on an interval (or ratio) scale.

Type: array

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:


Type: object
No Additional Properties

Values


A fixed set of nominal or an ascending sequence of ordinal values.
In this case data_type is required to be an unsigend integer type, e.g. 'uint8'.
String values are interpreted as labels for tensor values 0, ..., N.
Note: as YAML 1.2 does not natively support a "set" datatype,
nominal values should be given as a sequence (aka list/array) as well.

Type

Type: enum (of string) Default: "uint8"

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"
  • "bool"

Examples:

float32
uint8
uint16
int64
bool
Type: object
No Additional Properties

Type

Type: enum (of string) Default: "float32"

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"

Examples:

float32
float64
uint8
uint16

Range

Type: array Default: [null, null]

Tuple (minimum, maximum) specifying the allowed range of the data in this tensor.
None corresponds to min/max of what can be expressed by data_type.

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Tuple Validation

Item at 1 must be:
Item at 2 must be:

Scale

Type: number Default: 1.0

Scale for data on an interval (or ratio) scale.

Postprocessing

Type: array

Description of how this output should be postprocessed.

note: postprocessing always ends with an 'ensure_dtype' operation.
If not given this is added to cast to this tensor's data.type.

No Additional Items

Each item of this array must be:


Type: object

Binarize the tensor with a fixed threshold.
Values above the threshold will be set to one, values below the threshold to zero.

No Additional Properties

Id

Type: const Default: "binarize"

Must be one of:

  • "binarize"
Specific value: "binarize"

Kwargs


Type: object
No Additional Properties

Id

Type: const Default: "ensure_dtype"

Must be one of:

  • "ensure_dtype"
Specific value: "ensure_dtype"

Type: object
No Additional Properties

Dtype

Type: enum (of string)

Must be one of:

  • "float32"
  • "float64"
  • "uint8"
  • "int8"
  • "uint16"
  • "int16"
  • "uint32"
  • "int32"
  • "uint64"
  • "int64"
  • "bool"
Type: object

Fixed linear scaling.

No Additional Properties

Id

Type: const Default: "scale_linear"

Must be one of:

  • "scale_linear"
Specific value: "scale_linear"

Kwargs


Type: object
No Additional Properties
Type: object

The logistic sigmoid funciton, a.k.a. expit function.

No Additional Properties

Id

Type: const Default: "sigmoid"

Must be one of:

  • "sigmoid"
Specific value: "sigmoid"
Type: object

Subtract a given mean and divide by a given variance.

No Additional Properties

Id

Type: const Default: "fixed_zero_mean_unit_variance"

Must be one of:

  • "fixed_zero_mean_unit_variance"
Specific value: "fixed_zero_mean_unit_variance"

Kwargs


Type: object

Normalize with fixed, precomputed values for mean and variance.
See zero_mean_unit_variance for data dependent normalization.

No Additional Properties

Type: object

Normalize with fixed, precomputed values for mean and variance.
See zero_mean_unit_variance for data dependent normalization.

No Additional Properties

Std

Type: array of number

The standard deviation value(s) to normalize with.
Size must match mean values.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Axis

Type: string

The axis of the mean/std values to normalize each entry along that dimension
separately.


Examples:

channel
index
Type: object

Subtract mean and divide by variance.

No Additional Properties

Id

Type: const Default: "zero_mean_unit_variance"

Must be one of:

  • "zero_mean_unit_variance"
Specific value: "zero_mean_unit_variance"

Type: object
No Additional Properties

Axes

Default: null

The subset of axes to normalize jointly, i.e. axes to reduce to compute mean/std.
For example to normalize 'batch', 'x' and 'y' jointly in a tensor ('batch', 'channel', 'y', 'x')
resulting in a tensor of equal shape normalized per channel, specify axes=('batch', 'x', 'y').
To normalize each sample independently leave out the 'batch' axis.
Default: Scale all axes jointly.


Example:

['batch', 'x', 'y']

Eps

Type: number Default: 1e-06

epsilon for numeric stability: out = (tensor - mean) / (std + eps).

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Type: object

Scale with percentiles.

No Additional Properties

Id

Type: const Default: "scale_range"

Must be one of:

  • "scale_range"
Specific value: "scale_range"

Type: object
No Additional Properties

Axes

Default: null

The subset of axes to normalize jointly, i.e. axes to reduce to compute the min/max percentile value.
For example to normalize 'batch', 'x' and 'y' jointly in a tensor ('batch', 'channel', 'y', 'x')
resulting in a tensor of equal shape normalized per channel, specify axes=('batch', 'x', 'y').
To normalize samples indepdencently, leave out the "batch" axis.
Default: Scale all axes jointly.


Example:

['batch', 'x', 'y']

Min Percentile

Type: number Default: 0.0

The lower percentile used for normalization.

Value must be greater or equal to 0.0 and strictly lesser than 100.0

Max Percentile

Type: number Default: 100.0

The upper percentile used for normalization
Has to be bigger than min_percentile.
The range is 1 to 100 instead of 0 to 100 to avoid mistakenly
accepting percentiles specified in the range 0.0 to 1.0.

Value must be strictly greater than 1.0 and lesser or equal to 100.0

Eps

Type: number Default: 1e-06

Epsilon for numeric stability.
out = (tensor - v_lower) / (v_upper - v_lower + eps);
with v_lower,v_upper values at the respective percentiles.

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Type: object

Scale the tensor s.t. its mean and variance match a reference tensor.

No Additional Properties

Id

Type: const Default: "scale_mean_variance"

Must be one of:

  • "scale_mean_variance"
Specific value: "scale_mean_variance"

Type: object

Scale a tensor's data distribution to match another tensor's mean/std.
out = (tensor - mean) / (std + eps) * (ref_std + eps) + ref_mean.

No Additional Properties

Axes

Default: null

The subset of axes to normalize jointly, i.e. axes to reduce to compute mean/std.
For example to normalize 'batch', 'x' and 'y' jointly in a tensor ('batch', 'channel', 'y', 'x')
resulting in a tensor of equal shape normalized per channel, specify axes=('batch', 'x', 'y').
To normalize samples independently, leave out the 'batch' axis.
Default: Scale all axes jointly.


Example:

['batch', 'x', 'y']

Eps

Type: number Default: 1e-06

Epsilon for numeric stability:
out = (tensor - mean) / (std + eps) * (ref_std + eps) + ref_mean.

Value must be strictly greater than 0.0 and lesser or equal to 0.1

Packaged By

Type: array

The persons that have packaged and uploaded this model.
Only required if those persons differ from the authors.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Default: null

The model from which this model is derived, e.g. by fine-tuning the weights.

Type: object

Reference to a bioimage.io model.

No Additional Properties

Id

Type: string

A valid model id from the bioimage.io collection.

Default: null

Custom run mode for this model: for more complex prediction procedures like test time
data augmentation that currently cannot be expressed in the specification.
No standard run modes are defined yet.

Type: object
No Additional Properties

Kwargs

Type: object

Run mode specific key word arguments

Type: string Default: "2024-10-24T14:48:25.229893"

Timestamp in ISO 8601 format
with a few restrictions listed here.
(In Python a datetime object is valid, too).

Training Data

Default: null

The dataset used to train this model

Type: object

Reference to a bioimage.io dataset.

No Additional Properties

Id

Type: string

A valid dataset id from the bioimage.io collection.

Type: object

A bioimage.io dataset resource description file (dataset RDF) describes a dataset relevant to bioimage
processing.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description.
May only contains letters, digits, underscore, minus, parentheses and spaces.

Must be at least 1 characters long

Must be at most 128 characters long

Description

Type: string

A string containing a brief description.

Must be at most 1024 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1 or 1:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg')

No Additional Items

Each item of this array must be:

Authors

Type: array

The authors are the creators of this resource description and the primary points of contact.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Attachments

Type: array

file attachments

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Cite

Type: array

citations

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

License

Type: string

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue
to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a GitHub repo URL in config since there is a git_repo field.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource.
(Packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files.)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Maintainers

Type: array

Maintainers of this resource.
If not specified, authors are maintainers and at least some of them has to specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Format Version

Type: const Default: "0.3.0"

The format version of this resource specification

Must be one of:

  • "0.3.0"
Specific value: "0.3.0"

Documentation

Default: null

∈📦 URL or relative path to a markdown file encoded in UTF-8 with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Type

Type: const Default: "dataset"

Must be one of:

  • "dataset"
Specific value: "dataset"
Type: object

A bioimage.io dataset resource description file (dataset RDF) describes a dataset relevant to bioimage
processing.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description

Must be at least 1 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff')

No Additional Items

Each item of this array must be:


Example:

cover.png

Authors

Type: array

The authors are the creators of the RDF and the primary points of contact.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Default: null

file and other attachments

Type: object

Cite

Type: array

citations

No Additional Items

Each item of this array must be:

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a github repo URL in config since we already have the
git_repo field defined in the spec.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource
(packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Maintainers

Type: array

Maintainers of this resource.
If not specified authors are maintainers and at least some of them should specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Format Version

Type: const Default: "0.2.4"

The format version of this resource specification
(not the version of the resource description)
When creating a new resource always use the latest micro/patch version described here.
The format_version is important for any consumer software to understand how to parse the fields.

Must be one of:

  • "0.2.4"
Specific value: "0.2.4"

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Documentation

Default: null

∈📦 URL or relative path to a markdown file with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

License

Default: null

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Type

Type: const Default: "dataset"

Must be one of:

  • "dataset"
Specific value: "dataset"

Type: object

The weights for this model.
Weights can be given for different formats, but should otherwise be equivalent.
The available weight formats determine which consumers can use this model.

No Additional Properties

Default: null

Type: object
No Additional Properties

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Default: null

Type: object
No Additional Properties

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Opset Version

Type: integer

ONNX opset version

Value must be greater or equal to 7

Default: null

Type: object
No Additional Properties

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Architecture


Type: object
No Additional Properties

Callable

Type: string

Identifier of the callable that returns a torch.nn.Module instance.


Examples:

MyNetworkClass
get_my_model

Kwargs

Type: object

key word arguments for the callable

Each additional property must conform to the following schema

Type: object

Type: object
No Additional Properties

Callable

Type: string

Identifier of the callable that returns a torch.nn.Module instance.


Examples:

MyNetworkClass
get_my_model

Kwargs

Type: object

key word arguments for the callable

Each additional property must conform to the following schema

Type: object

Import From

Type: string

Where to import the callable from, i.e. from <import_from> import <callable>

Default: null

Custom depencies beyond pytorch.
The conda environment file should include pytorch and any version pinning has to be compatible with
pytorch_version.

Type: object
No Additional Properties

Default: null

Type: object
No Additional Properties

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Default: null

Type: object
No Additional Properties

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.


Example:

pytorch_state_dict

Default: null

Custom dependencies beyond tensorflow.
Should include tensorflow and any version pinning has to be compatible with tensorflow_version.

Type: object
No Additional Properties

Default: null

Type: object
No Additional Properties

Authors

Default: null

Authors
Either the person(s) that have trained this model resulting in the original weights file.
(If this is the initial weights entry, i.e. it does not have a parent)
Or the person(s) who have converted the weights to this weights format.
(If this is a child weight, i.e. it has a parent field)

Type: array
No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Parent

Default: null

The source weights these weights were converted from.
For example, if a model's weights were converted from the pytorch_state_dict format to torchscript,
The pytorch_state_dict weights entry has no parent and is the parent of the torchscript weights.
All weight entries except one (the initial set of weights resulting from training the model),
need to have this field.

Type: enum (of string)

Must be one of:

  • "keras_hdf5"
  • "onnx"
  • "pytorch_state_dict"
  • "tensorflow_js"
  • "tensorflow_saved_model_bundle"
  • "torchscript"

Example:

pytorch_state_dict

Type: object

Bioimage.io description of a Jupyter Notebook.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description

Must be at least 1 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg', '.tif', '.tiff')

No Additional Items

Each item of this array must be:


Example:

cover.png

Id Emoji

Default: null

UTF-8 emoji for display alongside the id.

Type: string

Must be at least 1 characters long

Must be at most 1 characters long

Authors

Type: array

The authors are the creators of the RDF and the primary points of contact.

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Cite

Type: array

citations

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Text

Type: string

free text description

Doi

Default: null

A digital object identifier (DOI) is the prefered citation reference.
See https://www.doi.org/ for details. (alternatively specify url)

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a github repo URL in config since we already have the
git_repo field defined in the spec.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource
(packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Icon

Default: null

An icon for illustration

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Maintainers

Type: array

Maintainers of this resource.
If not specified authors are maintainers and at least some of them should specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Rdf Source

Default: null

Resource description file (RDF) source; used to keep track of where an rdf.yaml was loaded from.
Do not set this field in a YAML file.

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Version Number

Default: null

version number (n-th published version, not the semantic version)

Format Version

Type: const Default: "0.2.4"

The format version of this resource specification
(not the version of the resource description)
When creating a new resource always use the latest micro/patch version described here.
The format_version is important for any consumer software to understand how to parse the fields.

Must be one of:

  • "0.2.4"
Specific value: "0.2.4"

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Icon

Default: null

badge icon


Example:

https://colab.research.google.com/assets/colab-badge.svg

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Documentation

Default: null

∈📦 URL or relative path to a markdown file with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

License

Default: null

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Type

Type: const Default: "notebook"

Must be one of:

  • "notebook"
Specific value: "notebook"

Id

Default: null

Model zoo (bioimage.io) wide, unique identifier (assigned by bioimage.io)

Source


The Jupyter notebook

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Type: object

Bioimage.io description of a Jupyter notebook.

No Additional Properties

Name

Type: string

A human-friendly name of the resource description.
May only contains letters, digits, underscore, minus, parentheses and spaces.

Must be at least 1 characters long

Must be at most 128 characters long

Description

Type: string

A string containing a brief description.

Must be at most 1024 characters long

Covers

Type: array

Cover images. Please use an image smaller than 500KB and an aspect ratio width to height of 2:1 or 1:1.
The supported image formats are: ('.gif', '.jpeg', '.jpg', '.png', '.svg')

No Additional Items

Each item of this array must be:

Id Emoji

Default: null

UTF-8 emoji for display alongside the id.

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Authors

Type: array

The authors are the creators of this resource description and the primary points of contact.

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Attachments

Type: array

file attachments

No Additional Items

Each item of this array must be:

Cite

Type: array

citations

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Text

Type: string

free text description

Doi

Default: null

A digital object identifier (DOI) is the prefered citation reference.
See https://www.doi.org/ for details. (alternatively specify url)

License

Type: string

A SPDX license identifier.
We do not support custom license beyond the SPDX license list, if you need that please
open a GitHub issue
to discuss your intentions with the community.


Examples:

CC0-1.0
MIT
BSD-2-Clause

Config

Type: object

A field for custom configuration that can contain any keys not present in the RDF spec.
This means you should not store, for example, a GitHub repo URL in config since there is a git_repo field.
Keys in config may be very specific to a tool or consumer software. To avoid conflicting definitions,
it is recommended to wrap added configuration into a sub-field named with the specific domain or tool name,
for example:

config:
    bioimageio:  # here is the domain name
        my_custom_key: 3837283
        another_key:
            nested: value
    imagej:       # config specific to ImageJ
        macro_dir: path/to/macro/file

If possible, please use snake_case for keys in config.
You may want to list linked files additionally under attachments to include them when packaging a resource.
(Packaging a resource means downloading/copying important linked files and creating a ZIP archive that contains
an altered rdf.yaml file with local references to the downloaded files.)


Example:

bioimageio:
  another_key:
    nested: value
  my_custom_key: 3837283
imagej:
  macro_dir: path/to/macro/file

Each additional property must conform to the following schema

Type: object

Git Repo

Default: null

A URL to the Git repository where the resource is being developed.


Example:

https://github.com/bioimage-io/spec-bioimage-io/tree/main/example_descriptions/models/unet2d_nuclei_broad

Icon

Default: null

An icon for illustration, e.g. on bioimage.io

Type: string

Must be at least 1 characters long

Must be at most 2 characters long

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).

Maintainers

Type: array

Maintainers of this resource.
If not specified, authors are maintainers and at least some of them has to specify their github_user name

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

Orcid

Default: null

An ORCID iD in hyphenated groups of 4 digits, (and valid as per ISO 7064 11,2.)


Example:

0000-0001-2345-6789

Tags

Type: array of string

Associated tags

No Additional Items

Each item of this array must be:


Example:

['unet2d', 'pytorch', 'nucleus', 'segmentation', 'dsb2018']

Format Version

Type: const Default: "0.3.0"

The format version of this resource specification

Must be one of:

  • "0.3.0"
Specific value: "0.3.0"

Documentation

Default: null

∈📦 URL or relative path to a markdown file encoded in UTF-8 with additional documentation.
The recommended documentation file name is README.md. An .md suffix is mandatory.


Examples:

https://raw.githubusercontent.com/bioimage-io/spec-bioimage-io/main/example_descriptions/models/unet2d_nuclei_broad/README.md
README.md

Badges

Type: array

badges associated with this resource

No Additional Items

Each item of this array must be:

Type: object

A custom badge

No Additional Properties

Label

Type: string

badge label to display on hover


Example:

Open in Colab

Icon

Default: null

badge icon


Example:

https://colab.research.google.com/assets/colab-badge.svg

Url

Type: string

target URL


Example:

https://colab.research.google.com/github/HenriquesLab/ZeroCostDL4Mic/blob/master/Colab_notebooks/U-net_2D_ZeroCostDL4Mic.ipynb

Type

Type: const Default: "notebook"

Must be one of:

  • "notebook"
Specific value: "notebook"

Id

Default: null

Model zoo (bioimage.io) wide, unique identifier (assigned by bioimage.io)

Source


The Jupyter notebook

Type: string

A path relative to the rdf.yaml file (also if the RDF source is a URL).